// pages/mine/mine.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    // 用户信息
    userInfo: {
      avatar: 'https://img.icons8.com/bubbles/100/user.png',
      nickname: '张三'
    },
    
    // 统计数据
    stats: {
      favorites: 12,
      browsed: 23
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log('个人中心页面加载完成');
    this.loadUserInfo();
    this.loadUserStats();
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    console.log('个人中心页面显示');
    // 每次显示时刷新统计数据
    this.loadUserStats();
  },

  // 加载用户信息
  loadUserInfo() {
    // 这里可以从本地存储或服务器获取用户信息
    try {
      const userInfo = wx.getStorageSync('userInfo');
      if (userInfo) {
        this.setData({
          userInfo: userInfo
        });
      } else {
        // 如果没有用户信息，使用默认头像
        this.setData({
          'userInfo.avatar': 'https://img.icons8.com/bubbles/100/user.png',
          'userInfo.nickname': '张三'
        });
      }
    } catch (e) {
      console.error('加载用户信息失败:', e);
    }
  },

  // 加载用户统计数据
  loadUserStats() {
    // 从本地存储获取收藏数量
    let favoritesCount = 0;
    try {
      const favorites = wx.getStorageSync('favorites') || [];
      favoritesCount = favorites.length;
      console.log('个人中心页面 - 获取收藏数量:', favoritesCount);
    } catch (error) {
      console.error('获取收藏数据失败:', error);
    }
    
    // 从本地存储获取浏览历史数量
    let browsedCount = 0;
    try {
      const browseHistory = wx.getStorageSync('browseHistory') || [];
      browsedCount = browseHistory.length;
      console.log('个人中心页面 - 获取浏览历史数量:', browsedCount);
    } catch (error) {
      console.error('获取浏览历史数据失败:', error);
    }
    
    this.setData({
      stats: {
        favorites: favoritesCount,
        browsed: browsedCount
      }
    });
    
    console.log('个人中心页面 - 统计数据更新完成:', { favorites: favoritesCount, browsed: browsedCount });
  },

  // 更换头像
  changeAvatar() {
    const self = this;
    wx.chooseMedia({
      count: 1,
      mediaType: ['image'],
      sourceType: ['album', 'camera'],
      success(res) {
        const tempFilePath = res.tempFiles[0].tempFilePath;
        
        // 这里可以上传到服务器，目前先本地显示
        self.setData({
          'userInfo.avatar': tempFilePath
        });
        
        // 保存到本地存储
        try {
          wx.setStorageSync('userInfo', self.data.userInfo);
          wx.showToast({
            title: '头像更新成功',
            icon: 'success'
          });
        } catch (e) {
          console.error('保存头像失败:', e);
        }
      },
      fail(err) {
        console.error('选择头像失败:', err);
        wx.showToast({
          title: '选择头像失败',
          icon: 'none'
        });
      }
    });
  },

  // 跳转到收藏页面
  goToCollection() {
    wx.navigateTo({
      url: '/pages/favorites/favorites'
    });
  },

  // 跳转到浏览历史页面
  goToBrowseHistory() {
    wx.navigateTo({
      url: '/pages/browse-history/browse-history'
    });
  },

  // 跳转到购车订单页面
  goToPurchaseOrders() {
    wx.navigateTo({
      url: '/pages/order/order'
    });
  },

  // 跳转到我卖的车页面
  goToMyCars() {
    wx.navigateTo({
      url: '/pages/sell-record/sell-record'
    });
  },

  // 跳转到在线客服
  goToCustomerService() {
    const self = this;
    wx.showActionSheet({
      itemList: ['拨打电话', '在线客服'],
      success: (res) => {
        if (res.tapIndex === 0) {
          // 拨打电话
          self.makePhoneCall();
        } else if (res.tapIndex === 1) {
          // 在线客服
          self.startOnlineChat();
        }
      },
      fail: (res) => {
        console.log('用户取消选择');
      }
    });
  },

  // 拨打电话
  makePhoneCall() {
    wx.showModal({
      title: '在线客服',
      content: '客服电话：400-123-4567\n工作时间：9:00-18:00',
      showCancel: true,
      cancelText: '取消',
      confirmText: '拨打电话',
      success: (res) => {
        if (res.confirm) {
          wx.makePhoneCall({
            phoneNumber: '4001234567',
            fail: () => {
              wx.showToast({
                title: '拨打失败',
                icon: 'none'
              });
            }
          });
        }
      }
    });
  },

  // 启动在线客服
  startOnlineChat() {
    console.log('启动在线客服聊天');
    
    // 检查是否有网络连接
    wx.getNetworkType({
      success: (res) => {
        console.log('网络状态:', res.networkType);
        if (res.networkType === 'none') {
          wx.showToast({
            title: '网络连接失败',
            icon: 'none'
          });
          return;
        }
        
        // 跳转到在线客服聊天页面
        console.log('准备跳转到聊天页面');
        wx.navigateTo({
          url: '/pages/chat/chat',
          success: () => {
            console.log('成功跳转到聊天页面');
          },
          fail: (error) => {
            console.error('跳转到聊天页面失败:', error);
            wx.showToast({
              title: '打开聊天页面失败',
              icon: 'none'
            });
          }
        });
      },
      fail: (error) => {
        console.error('获取网络状态失败:', error);
        // 即使获取网络状态失败，也尝试跳转
        wx.navigateTo({
          url: '/pages/chat/chat',
          fail: (error) => {
            console.error('跳转到聊天页面失败:', error);
            wx.showToast({
              title: '打开聊天页面失败',
              icon: 'none'
            });
          }
        });
      }
    });
  },

  // 跳转到关于我们页面
  goToAbout() {
    wx.showModal({
      title: '关于我们',
      content: '二手车交易平台 v1.0.0\n为您提供专业的二手车买卖服务',
      showCancel: false,
      confirmText: '知道了'
    });
    
    // 实际开发中可以跳转到关于页面
    // wx.navigateTo({
    //   url: '/pages/about/about'
    // });
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    console.log('下拉刷新');
    this.loadUserInfo();
    this.loadUserStats();
    
    setTimeout(() => {
      wx.stopPullDownRefresh();
      wx.showToast({
        title: '刷新成功',
        icon: 'success'
      });
    }, 1000);
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    // 个人中心页面通常不需要上拉加载更多
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
    return {
      title: '二手车交易平台',
      path: '/pages/index/index',
      imageUrl: 'https://img.icons8.com/3d-fluency/94/car.png'
    };
  }
});